package com.day7.test8_bigdecimal;

import javax.sound.midi.Soundbank;
import java.math.BigDecimal;

/**
 * @author 小坡
 * @date 2022/9/10  22:14
 **/
public class MyBigDecimal {
    public static void main(String[] args) {
        BigDecimal bigDecimal = new BigDecimal("10.0");
        BigDecimal bigDecimal1 = new BigDecimal("3.0");///0.33333333循环
        //        BigDecimal 是精确运算    除不尽的时候 会进行报错
//        BigDecimal div = bigDecimal.divide(bigDecimal1);
//        System.out.println(div);



//        参数一:表示参数运算的另一个对象
//        参数二:表示小数点后精确到多少位
//        参数三:舍入模式
//                进一法
//                去尾法
//                四舍五入
        System.out.println("结果应该是3.333333循环    除不尽的");
        BigDecimal bigDecimal2 = bigDecimal.divide(bigDecimal1, 2, BigDecimal.ROUND_UP);
        BigDecimal bigDecimal3 = bigDecimal.divide(bigDecimal1, 2, BigDecimal.ROUND_FLOOR);
        BigDecimal bigDecimal4 = bigDecimal.divide(bigDecimal1, 2, BigDecimal.ROUND_HALF_UP);
        System.out.println(bigDecimal2);
        System.out.println(bigDecimal3);
        System.out.println(bigDecimal4);

        System.out.println("---------------------");
        BigDecimal bigDecimal5 = new BigDecimal("0.3");
        BigDecimal bigDecimal6 = new BigDecimal("4");   ///0.075
//        研究去尾法 和  四舍五入法  的区别
        BigDecimal bigDecimal7 = bigDecimal5.divide(bigDecimal6, 2, BigDecimal.ROUND_FLOOR);
        BigDecimal bigDecimal8 = bigDecimal5.divide(bigDecimal6, 2, BigDecimal.ROUND_HALF_UP);
        System.out.println(bigDecimal7);
        System.out.println(bigDecimal8);


    }

}
